A declarative document is a collection of declarations that represent the logic of a computation rather than describing the lower level control flow. Because those declaration are often more human-readable, the collection of declarations is often termed a “document” rather than a “program”. Furthermore, the creation of such a document is often termed “authoring” rather than “programming”.
Because declarations are more human-readable and intuitive to most human beings, more individuals are capable of authoring declarative documents than are capable of programming using an imperative or object-oriented language. Accordingly, a declarative authoring experience is distinct from a computer programming experience. In a declarative authoring experience, it seems to the user as though the user is authoring a document, though after compilation, the document may consist of computer-executable code. The document may be, for instance, be a transformation chain or graph that has associated state. A transformation chain is an interconnected set of nodes that each may represent data sources or data targets.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.